home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1998 July / EnigmA AMIGA RUN 29 (1998)(G.R. Edizioni)(IT)[!][issue 1998-07 & 08].iso / earkit / news / thor / rexx / resend.thor < prev    next >
Text File  |  1998-05-24  |  3KB  |  124 lines

  1. /* Resend.thor by Sigbjørn Skjæret
  2. ** $VER: Resend.thor 1.2 (16.11.95)
  3. **
  4. ** Resends a message from you...
  5. */
  6.  
  7. options results
  8.  
  9. p = ' ' || address() || ' ' || show('P',,)
  10. thorport = pos(' THOR.',p)
  11.  
  12. if thorport > 0 then thorport = word(substr(p,thorport+1),1)
  13. else
  14. do
  15.     say 'No THOR port found!'
  16.     exit 10
  17. end
  18.  
  19. if ~show('p', 'BBSREAD') then
  20. do
  21.     address command
  22.         "run >nil: `GetEnv THOR/THORPath`bin/LoadBBSRead"
  23.         "WaitForPort BBSREAD"
  24. end
  25.  
  26. address(thorport)
  27.  
  28. CURRENTMSG stem CURRENT
  29. if(rc ~= 0) then
  30. do
  31.  REQUESTNOTIFY TEXT '"'"Error:" upper(left(THOR.LASTERROR, 1)) || delstr(THOR.LASTERROR, 1, 1)'"' BT '"_OK"'
  32.  exit
  33. end
  34.  
  35. GETMSGLISTSELECTED array
  36. if(rc ~= 0) then
  37. do
  38.  if(rc ~= 30) then exit
  39.  REQUESTNOTIFY TEXT '"'"Error:" upper(left(THOR.LASTERROR, 1)) || delstr(THOR.LASTERROR, 1, 1)'"' BT '"_OK"'
  40.  exit
  41. end
  42.  
  43. if(array.count=0) then
  44. do
  45.  array.count=1
  46.  array.1=CURRENT.MSGNR
  47. end
  48.  
  49. do n=1 to array.count
  50.  address BBSREAD READBRMESSAGE '"'CURRENT.BBSNAME'"' '"'CURRENT.CONFNAME'"' array.n headstem HEADTAGS textstem TEXTTAGS datastem DATATAGS
  51.  if(rc ~= 0) then
  52.  do
  53.   REQUESTNOTIFY TEXT '"'"Error:" upper(left(BBSREAD.LASTERROR, 1)) || delstr(BBSREAD.LASTERROR, 1, 1)'"' BT '"_OK"'
  54.   exit
  55.  end
  56.  
  57.  address BBSREAD GETBBSDATA bbsname '"'CURRENT.BBSNAME'"' stem BBSDATA
  58.  if(rc ~= 0) then
  59.  do
  60.   REQUESTNOTIFY TEXT '"'"Error:" upper(left(BBSREAD.LASTERROR, 1)) || delstr(BBSREAD.LASTERROR, 1, 1)'"' BT '"_OK"'
  61.   exit
  62.  end
  63.  
  64.  if(BBSDATA.USERNAME = '') then
  65.  do
  66.   address BBSREAD GETGLOBALDATA stem GLOBALDATA
  67.   if(rc ~= 0) then
  68.    do
  69.     REQUESTNOTIFY TEXT '"'"Error:" upper(left(BBSREAD.LASTERROR, 1)) || delstr(BBSREAD.LASTERROR, 1, 1)'"' BT '"_OK"'
  70.     exit
  71.    end
  72.  
  73.   if(GLOBALDATA.USERNAME = '') then call NoUser
  74.   else username = GLOBALDATA.USERNAME
  75.  end
  76.  else username = BBSDATA.USERNAME
  77.  
  78.  if(username ~= HEADTAGS.FROMNAME) then call NotMine
  79.  
  80.  address BBSREAD UNIQUEMSGFILE '"'CURRENT.BBSNAME'"' stem MSG
  81.  if(rc ~= 0) then
  82.  do
  83.   REQUESTNOTIFY TEXT '"'"Error:" upper(left(BBSREAD.LASTERROR, 1)) || delstr(BBSREAD.LASTERROR, 1, 1)'"' BT '"_OK"'
  84.   exit
  85.  end
  86.  
  87.  call open(data, MSG.NAME, W)
  88.  do i = 1 to TEXTTAGS.TEXT.COUNT
  89.   call writeln(data, TEXTTAGS.TEXT.i)
  90.  end
  91.  
  92.  if(bitand(DATATAGS.FLAGS, '00000004'x) = '00000004'x) then priv = 1
  93.  else priv = 0
  94.  
  95.  if(HEADTAGS.TONAME = 'HEADTAGS.TONAME') then HEADTAGS.TONAME = 'ALL'
  96.  
  97.  drop EVENT
  98.  
  99.  EVENT.TONAME        = HEADTAGS.TONAME
  100.  if(HEADTAGS.TOADDR ~= 'HEADTAGS.TOADDR') then EVENT.TOADDR = HEADTAGS.TOADDR
  101.  EVENT.SUBJECT        = HEADTAGS.SUBJECT
  102.  EVENT.CONFERENCE    = CURRENT.CONFNAME
  103.  EVENT.MSGFILE        = MSG.FILEPART
  104.  EVENT.PRIVATE        = priv
  105.  
  106.  address BBSREAD WRITEBREVENT '"'CURRENT.BBSNAME'"' 0 stem EVENT
  107.  if(rc ~= 0) then
  108.  do
  109.   REQUESTNOTIFY TEXT '"'"Error:" upper(left(BBSREAD.LASTERROR, 1)) || delstr(BBSREAD.LASTERROR, 1, 1)'"' BT '"_OK"'
  110.   exit
  111.  end
  112. end
  113. exit
  114.  
  115. NotMine:
  116.  
  117. REQUESTNOTIFY TEXT '"'"Sorry, this script can only be used on messages from you!"'"' BT '"Hey, I know who I am! (I think)"'
  118. exit
  119.  
  120. NoUser:
  121.  
  122. REQUESTNOTIFY TEXT '"'"Sorry, I couldn't seem to find your name?!"'"' BT '"Gimme a break!?!"'
  123. exit
  124.